"""
DatetimeOutputParser 是 LangChain 库中的一个输出解析器，专门用于解析和验证日期时间格式的输出。以下是它的详细说明：
主要功能
日期时间解析：将模型输出的日期时间字符串解析为标准的 datetime 对象
格式验证：确保输出符合预期的日期时间格式
错误处理：对不符合格式的输出提供清晰的错误信息
"""
from langchain_core.prompts import PromptTemplate
from langchain.output_parsers import DatetimeOutputParser
from models import get_ds_model_client

template = """
回答用户的问题:{question}

{format_instructions}
"""
output_parser = DatetimeOutputParser()
prompt = PromptTemplate.from_template(template, partial_variables={
    "format_instructions": output_parser.get_format_instructions()}, )
client = get_ds_model_client()
chain = prompt | client | output_parser
print(chain.invoke({"question": "今天是几号？"}))